lib.use(['element', 'table', 'form','laydate','tablePlug','tableMerge'], function () {
    var table = layui.table;
    var layer = layui.layer;
    var form = layui.form;
    var tablePlug = layui.tablePlug;
    var layDate=layui.laydate;
    var tableMerge = layui.tableMerge;
    var searchFrm = layui.Form('searchFrm');
    var goodsStockTable;

    //初始表格基础参数
    table.set(common.layui.table.config(tablePlug));

    searchFrm.selectRender();

    layDate.render({elem: '#createTime' ,range: '至'});
    layDate.render({elem: '#updateTime' ,range: '至'});


    // 渲染表格
    goodsStockTable = table.render({
            elem: '#goodsStockTable'
            , url: common.util.createUrl('/inv/goodsStock/list')
            , cols: [[
                {type:'checkbox'}
               ,{type: 'numbers', title: '编号' }
                ,{  field: 'id',  hide: true}
                ,{  field: 'warehouseId',  hide: true}
                ,{ title: '仓库编码', field: 'warehouseCode' }
                ,{ title: '仓库名称', field: 'warehouseName' }
                //,{ title: 'id路径', field: 'classPathId' }
                //,{ title: '名称路径', field: 'classPathName' }
                ,{  field: 'classId',  hide: true}
                ,{ title: '分类名称', field: 'className',width:80  }
                ,{field: 'goodsId',  hide: true}
                ,{ title: '商品编码', field: 'goodsCode' }
                ,{ title: '商品名称', field: 'goodsName' ,width:180 }
                ,{ title: '商品型号', field: 'goodsModel' }
                ,{ title: '商品规格', field: 'goodsSpec' }
                ,{ title: '基础数量', field: 'baseNum' ,width:80}
                ,{ field: 'baseUomId',  hide: true}
                ,{ title: '基础单位', field: 'baseUomName',width:80 }
                ,{ title: '库存数量', field: 'qtyNum' ,width:80}
                ,{ field: 'qtyUomId',  hide: true}
                ,{ title: '计量单位', field: 'qtyUomName' ,width:80}
                ,{ title: '辅助数量', field: 'auxNum' ,width:80}
                ,{ field: 'auxUomId',  hide: true}
                ,{ title: '计量单位', field: 'auxUomName',width:80 }
                ,{ title: '可用数量', field: 'avaBaseNum' ,merge: ['goodsId'],width:80}
                //,{ title: '可用库存数量', field: 'avaQtyNum' }
                //,{ title: '可用辅助数量', field: 'avaAuxNum' }
                ,{ title: '件换算', field: 'converUnit1',width:80 }
                ,{ title: '片换算', field: 'converUnit2',width:80 }
                //,{ title: '色号', field: 'colorNumber' }
               // ,{ title: '商品等级', field: 'itemGrade' ,templet: function (row) { return common.dist.getValue("inv.GoodsStock_ItemGradeEnum",row.itemGrade);}}
                ,{ field: 'version',  hide: true}
                ,{ field: 'remark',  hide: true}
                ,{  field: 'createUserId',  hide: true}
               /* ,{ title: '创建人', field: 'createUserName',  hide: true}*/
                ,{ field: 'createTime',  hide: true}
                ,{  field: 'updateUserId',  hide: true}
              /*  ,{ title: '修改人', field: 'updateUserName' ,  hide: true}
                ,{ title: '修改时间', field: 'updateTime' }*/
            ]],
            done: function () {
                var that=this;
                layui.define(['soulTable'], function () {
                    var soulTable=layui.soulTable;
                    soulTable.render(that)
                });
                tableMerge.render(that)
            }
    });
    /**
     * 导出
     */
    $(document).on('click','#export',function(){
        var params=common.from.serializeObject('#searchFrm');
        params['pages']=goodsStockTable.config.page.pages;
        params['limit']=goodsStockTable.config.page.limit;
        common.util.exportWindows('/inv/goodsStock/export',params)
    });

    /**
     * 监听搜索条件提交事件
     */
    form.on('submit(searchFilter)', function(data){
        var param = data.field;
        searchTable(param)
        return false;
    });

    /**
     * 查询表格
     * @param params
     */
    function searchTable(params) {
         params=common.from.serializeObject('#searchFrm');
        goodsStockTable.reload({where: params})
    }
});
